home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / u_man / cat3 / fpe_ss.z / fpe_ss
Text File  |  1998-10-30  |  5KB  |  133 lines

  1.  
  2.  
  3.  
  4. FFFFPPPPEEEE____SSSSSSSS((((3333))))                                                            FFFFPPPPEEEE____SSSSSSSS((((3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      fpe_trace_option, fpe_ss, fpe - SpeedShop floating-point exception
  10.      tracing library
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      vvvvooooiiiidddd ffffppppeeee____ttttrrrraaaacccceeee____ooooppppttttiiiioooonnnn((((iiiinnnntttt ttttrrrraaaapppp____TTTTyyyyppppeeee,,,, ssssttttrrrruuuucccctttt ssssiiiiggggccccoooonnnntttteeeexxxxtttt ****sssscccc))));;;;
  14.  
  15. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  16.      The SpeedShop Performance Tools contain a floating-point exception
  17.      tracing library, -lfpe_ss, which provides tracing for floating-point
  18.      exceptions.
  19.  
  20.      The library provides an intercept layer for the call to _f_p_e__t_r_a_c_e__o_p_t_i_o_n,
  21.      generated by the standard fpe library.  Note that users do not call this
  22.      routine, rather it is invoked from the standard FPE library.  It allows
  23.      tracing of all FPE's with the SpeedShop performance tools.  It is
  24.      normally not linked or invoked directly; the ssrun(1) command will use
  25.      _r_l_d to ensure that the library is in the process' address space when an
  26.      fpe tracing experiment is run.
  27.  
  28. TTTTRRRRAAAACCCCEEEEDDDD EEEEXXXXCCCCEEEEPPPPTTTTIIIIOOOONNNNSSSS
  29.      There are four distinct types of floating-point exceptions, underflow,
  30.      overflow, divide-by-zero, and invalid operation.  There is a fifth
  31.      exception that is traced in the same way, integer-overflow. The summary
  32.      below is only approximate.  For further details, see the instruction set
  33.      description for the particular CPU chip involved.  The description below
  34.      is only for those cases when a SpeedShop floating point exception tracing
  35.      experiment is being performed, and no special settings for exceptions
  36.      have been used.
  37.  
  38.      Underflows are generated when an arithmetic operation would produce a
  39.      result that is too small to be represented as a normalized floating-point
  40.      number.  Each time such a result is generated, an exception occurs, and
  41.      it is traced.  If the operation generates a result that can not even be
  42.      represented as an denormalized floating point number, a zero is
  43.      generated.  Further use of this zero will never produce another
  44.      underflow.
  45.  
  46.      Overflows are generated when an arithmetic operation would produce a
  47.      result that is too large to be represented as a normalized floating-point
  48.      number.  Each time this happens, an exception is generated, and the
  49.      result is set to a (signed) infinity.  When such an infinity is
  50.      subsequently used, it will propagate, but no exception is generated.  For
  51.      some setting of the rounding mode, an infinity is not generated, rather
  52.      the largest representable value is generated.
  53.  
  54.      Divide-by-zero is generated when any finite non-zero number is divided by
  55.      a zero.  It too generates an exception, and the result is also set to the
  56.      representation of infinity (properly signed), and subsequent use will not
  57.      cause another exception.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. FFFFPPPPEEEE____SSSSSSSS((((3333))))                                                            FFFFPPPPEEEE____SSSSSSSS((((3333))))
  71.  
  72.  
  73.  
  74.      Invalid operations occur when a zero is divided by a zero.  They
  75.      generates an exception, and the result is set to a special result called
  76.      "Not a Number", or NaN.  Although the IEEE specification allows for both
  77.      signaling NaN's and non-signaling NaN's, the hardware only generates
  78.      non-signaling NaN's and the subsequent use of this result will not
  79.      generate another exception.  The same exception can occur when dividing
  80.      two infinities, multiplying an infinity by a zero, or adding a positive
  81.      and a negative infinity, subtracting two infinities of the same sign,
  82.      taking the square root of a negative number, during some conversions
  83.      between floating- and fixed-point, and during some comparisons of NaN's.
  84.  
  85.      The integer arithmetic instructions add, addi, dadd, daddi, sub, and dsub
  86.      also generate a SIGFPE signal when the result of the operation overflows.
  87.      (At the moment, SGI compilers generate only unsigned versions of these
  88.      instructions, which do not generate a signal on overflow.  However it is
  89.      still possible to generate these instructions via assembly language).
  90.      Unless you have linked in some hand-coded assembler, you will not see the
  91.      integer-overflow exception.
  92.  
  93. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  94.      handle_sigfpes(3C), ssrun(1), prof(1), ssdump(1), speedshop(1).
  95.  
  96. DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
  97.      As output from the library routines.
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.